""" МОДУЛИ
"""

import xml.etree.ElementTree as etree

tree = etree.parse('s100000022407.xml')

root = tree.getroot()
"""
--- Во всех модулях ищем описание вакансий (элемент 'Description'). 
--- Если не одна вакансия (элемент f_100000022410)
--- Вырезаем из объявления рубрику.
--- Копируем все элемент вакансии в массив и вырезаем их из модуля.
--- Запоминаем что осталось от модуля. Вырезаем модуль из документа.
"""

for adv in root.findall('adv'):                                                 # для всех узлов
    Description = adv.find('Description')
    if len(Description.findall('f_100000022410'))>1:                        # несколько вакансий в модуле
    
        Rubric = adv.find('Rubric')
        adv.remove(Rubric)

        vacants = []
        for f_100000022410 in Description.findall('f_100000022410'):        # только подузлы 'f_100000022410'
            vacants.append(etree.tostring(f_100000022410))
            Description.remove(f_100000022410)                              # удаляю реально!

        module = etree.tostring(adv)
        root.remove(adv)

        for vacant in vacants:
            node = etree.fromstring(vacant)
            prof = node.attrib.get('f_100000022411','')
            print(prof)
            # поиск рубо\рики по таблице
            rubric = '999'
            
            node2 = etree.fromstring(module)
            Description = node2.find('Description')
            Description.append(node)
            node2.append(etree.fromstring('<Rubric code="100000000{}"/>'.format(rubric)))
            root.append(node2)

tree.write('модули.xml',encoding='cp1251')







            # phone.append(f_100000022442.attrib.get('f_100000022443', '')+
                # f_100000022442.attrib.get('f_100000022444', ''))
            # plus = f_100000022442.attrib.get('f_100000022445', '')
            # Description.remove(f_100000022442)
        # Description.append(etree.fromstring('<f_100000022442 f_100000022444="{}" f_100000022445="{}"/>'.format(','.join(phone), plus)))
